package etcd

/*
ETCD在连接的时候，是一个集群模式，也就是当一个连接失效的时候，会自动换在另一个链接；
这点在监听和注册的逻辑上都是有效的；
唯一需要注册的是当租约到期的时候，如果还想继续注册服务，需要重新生成租约；
然后重新把之前的信息注册上etcd；
所以在EtcdAccess里有一个函数数组用来管理，需要注册信息的方法集合；
这样系统中注册信息只需要运行一次就可以
*/
// var (
// 	etcddb *EtcdAccess
// 	syncd  sync.Once
// )

// func Init() {
// 	etmd, err := NewEtcdAccess(
// 		SetEtcdAddrs(viper.GetStringSlice("Etcd.Addrs")...),
// 		SetEtcdDialTimeout(viper.GetDuration("Etcd.DialTimeout")*time.Second),
// 		SetEtcdLeaseTTL(viper.GetInt64("Etcd.LeaseTTL")),
// 	)
// 	if err != nil {
// 		panic(err)
// 	}
// 	etcddb = etmd
// }

// // 获取etcd实例
// func GetEtcd() *EtcdAccess {
// 	syncd.Do(Init)
// 	return etcddb
// }

// 注册服务的方法
type reFunc func() error
